//
//  HomeTableViewController.swift
//  Weibo T
//
//  Created by mac on 15/11/26.
//  Copyright © 2015年 陈肖坤. All rights reserved.
//

import UIKit
import AFNetworking
import SVProgressHUD

private let HomeCellId = "HomeCellId"
class HomeTableViewController: BaseTableViewController {

    //添加数组属性
    private lazy var statuses = [Status]()
    
    override func viewDidLoad() {
        super.viewDidLoad()

        if !userLogin {
        
            visitorLoginView?.setWithInfo("关注一些人，回这里看看有什么惊喜", imageName: nil)
            return
        }
       
        //准备tableView
        prepareTableView()
        loadData()
        
    }
    
    private func prepareTableView() {
        //注册cell
        tableView.registerClass(StatusCell.self, forCellReuseIdentifier: HomeCellId)
//        tableView.rowHeight = 200

        //设置预估行高
        tableView.estimatedRowHeight = 300
        //设置自动行高计算
        tableView.rowHeight = UITableViewAutomaticDimension
        tableView.separatorStyle = .None
    }
    
    //MARK: 加载数据
    private func loadData() {
        
        StatusListViewModel.loadData { (statuses) -> () in
            guard let list = statuses else {
                SVProgressHUD.showErrorWithStatus(AppErrorTip)
                return
            }
            //记录数组
            self.statuses = list
            //刷新表格
            self.tableView.reloadData()
        }
    }
    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }
    
    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return statuses.count
    }
    
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        //如果使用这个方法 获取cell 并且不是在 sb / xib 就需要程序员手动注册cell
        let cell = tableView.dequeueReusableCellWithIdentifier(HomeCellId, forIndexPath: indexPath) as! StatusCell
//        cell.textLabel?.text = statuses[indexPath.row].user?.name
        cell.status = statuses[indexPath.row]
        return cell
    }
    
    
    
}
